package com.gengzi.upload.controller;


import com.gengzi.upload.service.UploadService;
import com.gengzi.upload.service.api.UploadControllerApi;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author 董诗攀
 */
@Controller
@RequestMapping("upload")
@CrossOrigin
public class UploadController implements UploadControllerApi {

    @Autowired
    private UploadService uploadService;
    

    @Override
    @PostMapping(value = "image", consumes = "multipart/*", headers = "content-type=multipart/form-data")
    public ResponseEntity<String> uploadImage(@RequestParam("file") MultipartFile file){
        String url = this.uploadService.uploadImage(file);
        if (StringUtils.isBlank(url)) {
            return ResponseEntity.badRequest().build();
        }
        return ResponseEntity.status(HttpStatus.CREATED).body(url);
    }
}

